const express = require("express");
const router = express.Router()
// 百度 node uuid 有详细的教程
const {v4:uuidv4} = require("uuid")   
const {db,genid} = require("../db/DbUtils")


// 用post 方式走登录接口
router.post("/login",async(req,res)=>{

    // 用户在登录的时候，会传用户名和密码两个参数
    let {account,password} = req.body;

    // console.log(account +" : " + password);

    // 根据上面获取的用户名和密码查找 admin数据库，返回 err 和 rows 两个数 key 值不能加 '' 否则不识别
    let {err,rows} = await db.async.all("select * from `admin` where `account` = ? AND `password` = ?",[account,password])  //

    if(err == null && rows.length > 0){

        // 建立 token 值
        let login_token = uuidv4();
        // 给指定的admin 添加 token 值
        let update_token_sql = "UPDATE `admin` SET `token` = ? where `id` = ?"

        // 像数据库写入数据
        await db.async.run(update_token_sql,[login_token,rows[0].id])
 
        let admin_info = rows[0]
        admin_info.token = login_token
        admin_info.password = ""
 
        // 说明返回结果正常，
        res.send({
            code:200,
            msg:"登录成功",
            data: admin_info
         })   
           
    } else {

        // 说明登录失败
        res.send({
           code:500,
           msg:"登录失败"
        })
    }
})



// 将路由对象导出
module.exports = router